<template>
  <div :class="prefixCls" class="relative wh-full px-4 box-border">
    <div class="flex items-center absolute right-4 top-4"> 切换主题 </div>

    <span class="-enter-x xl:hidden"> <AppLogo :alwaysShowTitle="true" /> </span>

    <div class="container relative h-full py-2 mx-auto sm:px-10">
      <div class="flex h-full">
        <div class="hidden min-h-full pl-4 mr-4 xl:flex xl:flex-col xl:w-6/12">
          <AppLogo class="-enter-x" />
          <div class="my-auto">
            <img src="../../assets/svg/login-box-bg.svg" class="w-1/2 -mt-16 -enter-x" />
            <div class="mt-10 font-medium text-white -enter-x">
              <span class="inline-block mt-4 text-3xl"> 开箱即用的中后台管理系统 </span>
            </div>
            <div class="mt-5 font-normal text-white dark:text-gray-500 -enter-x">
              输入您的个人详细信息开始使用！
            </div>
          </div>
        </div>
        <div class="flex w-full h-full py-5 xl:h-auto xl:py-0 xl:my-0 xl:w-6/12">
          <div
            :class="`${prefixCls}-form`"
            class="relative w-full px-5 py-8 mx-auto my-auto rounded-md shadow-md xl:ml-16 xl:bg-transparent sm:px-8 xl:p-4 xl:shadow-none sm:w-3/4 lg:w-2/4 xl:w-auto enter-x"
          >
            <LoginForm />
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script lang="ts" setup>
  import { AppLogo } from '@/components/Application';
  import LoginForm from './login-form.vue';

  import { useDesign } from '@/hooks/web/useDesign';

  const { prefixCls } = useDesign('login');
</script>

<style lang="less">
  @prefix-cls: ~'@{namespace}-login';
  @logo-prefix-cls: ~'@{namespace}-app-logo';
  @countdown-prefix-cls: ~'@{namespace}-countdown-input';
  @dark-bg: #293146;

  .@{prefix-cls} {
    overflow: hidden;
    min-height: 100%;

    /* stylelint-disable-next-line media-query-no-invalid */
    @media (width <= 1280px) {
      background-color: #293146;

      .@{prefix-cls}-form {
        background-color: #fff;
      }
    }

    &::before {
      position: absolute;
      top: 0;
      left: 0;
      margin-left: -48%;
      width: 100%;
      height: 100%;
      background-position: 100%;
      background-repeat: no-repeat;
      background-size: auto 100%;
      content: '';
      background-image: url('@/assets/svg/login-bg.svg');
      /* stylelint-disable-next-line media-query-no-invalid */
      @media (width <= 1280px) {
        display: none;
      }
    }

    .@{logo-prefix-cls} {
      position: absolute;
      top: 12px;
      height: 30px;

      &__title {
        font-size: 16px;
        color: #fff;
      }

      img {
        width: 32px;
      }
    }

    .container {
      .@{logo-prefix-cls} {
        display: flex;
        width: 60%;
        height: 80px;

        &__title {
          font-size: 24px;
          color: #fff;
        }

        img {
          width: 48px;
        }
      }
    }

    &-sign-in-way {
      .anticon {
        font-size: 22px;
        color: #888;
        cursor: pointer;

        &:hover {
          color: @primary-color;
        }
      }
    }

    .@{countdown-prefix-cls} input {
      min-width: unset;
    }
  }
</style>
